package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <desc>
 * 运营-向物业公司转账实体类.
 * </desc>
 *
 * @createDate 2018/9/4
 */
@Data
@NoArgsConstructor
@ItlTables("property_withdraw_cash_record_info")
@EqualsAndHashCode(callSuper = true)
public class OperateTransferPropertyPO extends BasePO implements Serializable {

    @ItlField(value = "cash_id",logicKey = "key")
    private String cashId;                       //提现记录 逻辑ID
    @ItlField("bank_card_id")
    private String bankCardId;                   //银行卡ID 与银行卡信息表相关联
    @ItlField("bank_card_no")
    private String bankCardNo;                   //银行卡号
    @ItlField("open_bank_name")
    private String openBankName;                 //开户银行名称
    @ItlField("project_id")
    private String projectId;                    //项目编号
    @ItlField("amount")
    private BigDecimal amount;                   //提现金额
    @ItlField("handling_fee")
    private BigDecimal handlingFee;              //手续费
    @ItlField("operator_user_id")
    private String operatorUserId;               //操作人
    @ItlField("checker_user_id")
    private String checkerUserId;               //财务审批人
    @ItlField("trade_status")
    private Integer tradeStatus;                //提现状态 1已提交 2处理中 3提现成功 4提现失败 5审核失败
    @ItlField("is_timeout")
    private Integer isTimeout;                  //提现是否超时 1未超时 2已超时
    @ItlField("serual_number")
    private String serualNumber;                //流水号
    @ItlField("send_trade_time")
    private Date sendTradeTime;                 //向银联发起交易的时间
    @ItlField("trade_time")
    private Date tradeTime;                     //交易时间
    @ItlField("remark")
    private String remark;                      //备注 转账交易失败描述
    @ItlField("trade_before_amount")
    private BigDecimal tradeBeforeAmount;       //提现前账号实时金额
    @ItlField("trade_after_amount")
    private BigDecimal tradeAfterAmount;        //提现后账号实时金额

    public OperateTransferPropertyPO(String cashId) {
        this.cashId = cashId;
    }
}